#pragma once
#include <stdio.h>
#include <wchar.h>
#include <string>
#include "Input.h"
#include "Level.h"
#include "cgui.h"
#include "cMenu.h"

#pragma comment(lib, "Irrlicht.lib")

using namespace irr;
using namespace core;

class BaseGame
{
public:
	bool StartUp(); // se llama en OnInit
	void Loop();    // se llama en OnUpdate
	void ShutDown();// se llama en OnDestroy

	eState _state;
	Input *InputManager;
	// TODO esto tiene que estar
	// void setState()

private:
	Level * level;
	bool onInit();
	void onUpdate();
	void onDestroy();

public:
	static void log(char * str, ...);
	BaseGame();
	~BaseGame();
};
